package com.csun.dsms.model.domain;

import com.csun.dsms.comment.core.mybatis.BaseEntity;
import lombok.Data;

import java.util.Date;
import javax.persistence.*;

@Data
@Table(name = "dsms_user")
public class DsmsUser extends BaseEntity {

    /**
     * 登录名
     */
    @Column(name = "login_name")
    private String loginName;

    /**
     * 登录密码
     */
    @Column(name = "login_pwd")
    private String loginPwd;

    /**
     * 盐,用于shiro加密, 字段停用
     */
    private String salt;

    /**
     * 工号
     */
    @Column(name = "user_code")
    private String userCode;

    /**
     * 姓名
     */
    @Column(name = "user_name")
    private String userName;

    /**
     * 手机号
     */
    @Column(name = "mobile_no")
    private String mobileNo;

    /**
     * 电话
     */
    private String telephone;

    /**
     * 邮件地址
     */
    private String email;

    /**
     * 性别 1-男 0-女
     */
    private Integer sex;

    /**
     * 出生日期，格式yyyy-mm-dd
     */
    private String birthday;

    /**
     * 身份证编号
     */
    @Column(name = "id_card")
    private String idCard;

    /**
     * 传真
     */
    private String fax;

    /**
     * 用户头像
     */
    @Column(name = "head_pic")
    private String headPic;

    /**
     * 状态
     */
    private String status;

    /**
     * 用户来源
     */
    @Column(name = "user_source")
    private String userSource;

    /**
     * 操作员类型（2000伙伴，3000客户，1000运营）
     */
    private String type;

    /**
     * 最后登录IP地址
     */
    @Column(name = "last_login_ip")
    private String lastLoginIp;

    /**
     * 最后登录位置
     */
    @Column(name = "last_login_location")
    private String lastLoginLocation;

    /**
     * 描述
     */
    private String remark;

    /**
     * 最后登录时间
     */
    @Column(name = "last_login_time")
    private Date lastLoginTime;

    /**
     * 是否更改过密码
     */
    @Column(name = "is_changed_pwd")
    private Short isChangedPwd;

    /**
     * 连续输错密码次数（连续5次输错就冻结帐号）
     */
    @Column(name = "pwd_error_count")
    private Short pwdErrorCount;

    /**
     * 最后输错密码时间
     */
    @Column(name = "pwd_error_time")
    private Date pwdErrorTime;

    /**
     * 角色ID
     */
    @Transient
    private Long roleId;

    /**
     * 角色名称
     */
    @Transient
    private String roleName;

    /**
     * 角色编码
     */
    @Transient
    private String roleCode;

    /**
     * 单位ID
     */
    @Transient
    private Long unitId;

    /**
     * 单位名称
     */
    @Transient
    private String unitName;

}